package com.sale.system.mapper;

import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.sale.common.core.domain.R;
import com.sale.system.api.domain.SysRole;
import com.sale.system.domain.PullDown;
import com.sale.system.domain.SysFields;
import com.sale.system.domain.SysOfCode;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import javax.annotation.ManagedBean;
import java.util.List;

/**
 * 编码生成 数据层
 *
 * @author hl
 */
@Mapper
public interface SysOfCodeMapper {
    /**
     * 新增页面数据
     *
     * @param ofCode 对象
     * @return 编码生成
     */
    int ofCodeAdd(SysOfCode ofCode);

    //int ofCodeAddList(List<SysOfInfo> lis int ids);
    /**
     * 删除
     *
     * @param idS id
     * @return 编码生成
     */
    int deleteOfCodeById(@Param("idS") String[] idS);
    /**
     * 修改
     *
     * @param ofCode 对象
     * @return 编码生成
     */
    int updateOfEdit(SysOfCode ofCode);


    /**
     * 根据编码查询是否重复
     *
     * @param  ofCodeStr
     * @return 是否重复
     */
    int selectOneOfCode(String ofCodeStr);


    /**
     * 获取页面数据
     *
     * @param build
     * @return 编码生成
     */
    Page<SysOfCode> selectOfCodeList(@Param("page") Page<SysOfCode> build,@Param(Constants.WRAPPER) Wrapper<SysOfCode> buildQueryWrapper);

    /**
     * 下拉
     *
     * @param
     * @return R<List<PullDown>>
     */
    List<PullDown> selectOfCodeSelList();

    /**
     * 获取单个
     *
     * @param
     * @return SysOfCode
     */
    SysOfCode selectOfCode(Long ofCodeId);


    /**
     * 获取页面数据(不带分页)
     *
     * @param
     * @return List<SysOfCode>
     */
    List<SysOfCode> selectOfCodeListBy();
}
